Here we are restricting hierarchical GMM to only go through on level. We are comparing the cluster results to the glut labels.
set.seed(314)
h2 <- hmc(sdat, maxDepth = 2, ccol = ccol, maxDim = 12)
h2lab <- viridis(max(h2$dat$labels$col))stackM(h2, ccol = ccol, centered = TRUE, depth = 1)pairs(h2$dat$data, pch = 19, cex = 0.2, col = c("blue", "red")[gabaID$gaba+1])pred <- h2$dat$labels$col - 1
t1 <- table(truth = truth, pred = h2$dat$labels$col - 1)
(TP <- t1[1])## [1] 647
(TN <- t1[4])## [1] 40
(FP <- t1[2])## [1] 45
(FN <- t1[3])## [1] 61
Pos <- TP + FN
Neg <- TN + FP
(sens <- (TP/Pos))## [1] 0.9138418
(spec <- TN/Neg)## [1] 0.4705882
(ACC <- (TP + TN)/(TP + FP + FN + TN))## [1] 0.8663304
(mis <- (FP + FN)/(TP + FP + FN + TN))## [1] 0.1336696
p0 <- mclust::adjustedRandIndex(pred, gaba)
perms <- foreach(i = 1:1.5e4, .combine = c) %dopar% {
set.seed(i*2)
mclust::adjustedRandIndex(sample(pred), gaba)
}
t1## pred
## truth 0 1
## 0 647 61
## 1 45 40
hist(perms, xlim = c(min(perms), p0 + 0.25*p0),
main = "permutation test of ARI values", probability = TRUE)
#hist(perms, probability = TRUE)
abline(v = p0, col = 'red')